function (add_example_executable name)
  add_executable(${name} ${ARGN})
  set_compiler_flags_for_target(${name})
  target_include_directories(${name} PRIVATE ${PROJECT_SOURCE_DIR}/include)
endfunction()

add_example_executable(01_simple_struct 01_simple_struct.cpp)
add_example_executable(02_alias 02_alias.cpp)
add_example_executable(03_optional_types 03_optional_types.cpp)
add_example_executable(04_subclasses 04_subclasses.cpp)
add_example_executable(05_enums 05_enums.cpp)
add_example_executable(06_map 06_map.cpp)
add_example_executable(07_stdtypes 07_stdtypes.cpp)
add_example_executable(08_custom_types 08_custom_types.cpp)
add_example_executable(09_nested_types 09_nested_types.cpp)
add_example_executable(10_simple_tokenize 10_simple_tokenize.cpp)
add_example_executable(11_calling_functions 11_calling_functions.cpp)
add_example_executable(12_simple_diff 12_simple_diff.cpp)
add_example_executable(13_diff_missing_data 13_diff_missing_data.cpp)
add_example_executable(reformat reformat.cpp)
